1. Field of the Invention
The present invention generally relates to an apparatus and method for transmitting data in a communication system.
2. Description of the Related Art
FIG. 1 is a diagram illustrating a configuration of a conventional communication system.
Referring to FIG. 1, the communication system has a multicell configuration, i.e., has a cell 100 and a cell 150. The communication system includes a base station (BS) 110 for controlling the cell 100, a BS 140 for controlling the cell 150, and mobile stations (MSs) 111, 113, 130, 151 and 153. Each of the MSs 111, 113, 130, 151 and 153 has a protocol stack configuration including a Medium Access Control (MAC) layer and a Physical (PHY) layer.
The MS protocol stack configuration for a conventional communication system will now be described with reference to FIG. 2.
FIG. 2 is a diagram illustrating an MS protocol stack configuration for a conventional communication system.
Referring to FIG. 2, the MS protocol stack includes an upper layer 210, a MAC layer 220 and a PHY layer 230. The MAC layer 220 includes a service-specific Convergence Sublayer (CS) 221 and a MAC Common Part Sublayer (CPS) 223. When transmission packet data from the upper layer 210 is input to the MAC layer 220, the CS 221 of the MAC layer 220 converts the packet data received from the upper layer 210 into a MAC Service Data Unit (SDU), and transmits the MAC SDU to the MAC CPS 223. The MAC CPS 223 converts the MAC SDU received from the CS 221 into a MAC Protocol Data Unit (PDU), and transmits the MAC PDU to the PHY layer 230.
When the MAC SDU is converted into the MAC PDU, the MAC SDU's size can be either larger or smaller than a size of the MAC PDU, defined to be suitable to be transmitted in the communication system. Therefore, in a process of generating the MAC PDU, a packing or fragmentation operation can be performed. A description thereof will now be made with reference to FIGS. 3 and 4.
FIG. 3 is a diagram illustrating a conventional MAC SDU packing operation for generating a MAC PDU.
Referring to FIG. 3, when a transmission MAC SDU is smaller than a MAC PDU, a packet operation should be performed such that plural MAC SDUs is included in one MAC PDU. That is, the packing operation generates one MAC PDU by concatenating multiple MAC SDUs. When the MAC SDUs concatenated into one MAC PDU are different from each other in size, a packing subheader (PSH) must be inserted into (or added to) the head of each of the MAC SDUs packed into one MAC PDU. In FIG. 3, two MAC SDUs (i.e., MAC SDU#1 311 and a MAC SDU#2 313) are packed into one MAC PDU 315, by way of example.
FIG. 4 is a diagram illustrating a conventional MAC SDU fragmentation operation for generating MAC PDUs.
Referring to FIG. 4, when a transmission MAC SDU is larger than a MAC PDU, a fragmentation operation should be performed such that one MAC SDU is fragmented into multiple MAC PDUs. That is, the fragmentation operation fragments one MAC SDU into multiple MAC PDUs. In this case, a fragmentation subheader (FSH) must be inserted into (or added to) the head of each of the MAC PDUs fragmented from one MAC SDU. In FIG. 4, one MAC SDU 411 is fragmented into two MAC PDUs of a MAC PDU#1 413 and a MAC PDU#2 415, by way of example.
A format of a MAC PDU generated by packing multiple MAC SDUs will now be described with reference to FIG. 5.
FIG. 5 is a diagram illustrating a format of a MAC PDU generated by packing multiple MAC SDUs.
Referring to FIG. 5, the MAC PDU includes a generic MAC header (GMH) 511, a subheader (SH) 513, a PSH 515, a MAC SDU 517, a PSH 519, a MAC SDU 521, and a Cyclic Redundancy Check (CRC) 523. The GMH 511 is a header having a predetermined length of, for example, 6 bytes. Although the MAC PDU shown in FIG. 5 includes only one SH 513, the MAC PDU may include a plurality of SHs.
The PSH is inserted into the head of each of multiple MAC SDUs packed into one MAC PDU 500, when the multiple MAC SDUs are packed into one MAC PDU as described with reference to FIG. 3. In FIG. 5, two MAC SDUs of a MAC SDU 517 and a MAC SDU 521 are packed into one MAC PDU 500, by way of example. The PSH 515 and the PSH 519 are inserted into the heads of the MAC SDU 517 and the MAC SDU 521, respectively. The CRC 523 is inserted to check whether there is an error in the MAC PDU 500.
A format of a MAC PDU generated by fragmenting one MAC SDU will now be described with reference to FIG. 6.
FIG. 6 is a diagram illustrating a format of a MAC PDU 600 generated by fragmenting one MAC SDU.
Referring to FIG. 6, the MAC PDU 600 includes a GMH 611, an SH 613, an FSH 615, a MAC SDU 617, and a CRC 619. The GMH 611 is a header having a predetermined length of, for example, 6 bytes. Although the MAC PDU 600 shown in FIG. 6 includes only one SH 613, the MAC PDU may include a plurality of SHs. The FSH 615 is inserted into the head of the MAC SDU 617 fragmented into MAC PDUs, when one MAC SDU is fragmented into multiple MAC PDUs as described with reference to FIG. 4. The CRC 619 is inserted to check whether there is an error in the MAC PDU 600.
An operation of generating a MAC PDU by the MAC CPS 223 will now be described with reference to FIG. 7.
FIG. 7 is a diagram illustrating an operation of generating a MAC PDU by the MAC CPS 223 of FIG. 2.
Referring to FIG. 7, in order to generate a MAC PDU, the MAC CPS 223 must copy MAC SDUs located in different positions. The MAC CPS 223 performs memory copying from a MAC SDU memory 711 to a MAC PDU memory 713 to generate a MAC PDU in application software 710.
MAC CPS 223 copying the memory to the MAC PDU memory 713, after inserting an appropriate GMH or SH in consisting of MAC PDU into copied MAC SDU, generates MAC PDU to deliver to PHY layer. The MAC CPS 223 performs memory copying to a MAC PDU memory 721 in hardware 720 to transmit the MAC PDU generated in the MAC PDU memory 713 through a PHY layer 230. As a result, the PHY layer 230 can transmit MAC PDUs in the MAC PDU memory 721.
In order to generate a MAC PDU from a MAC SDU and actually transmit the MAC PDU at the PHY layer as described above, memory copying should be performed two times: memory copying in software and memory copying in hardware. The double memory copying is inefficient and increases a time required for transmitting the MAC PDU.